From 82dc7b903c53444e7de0695b77e0032353374787 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Jan 2020 10:58:54 -0500 Subject: [PATCH] Fix the filetransfer portal initialization Reusing the cancellable only works if you don't throw it away after first use. --- gdk/filetransferportal.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gdk/filetransferportal.c b/gdk/filetransferportal.c index 7f0a35c303..ba5f6d4ef0 100644 --- a/gdk/filetransferportal.c +++ b/gdk/filetransferportal.c @@ -120,7 +120,7 @@ ensure_file_transfer_portal (void) cancellable = g_cancellable_new (); done = FALSE; - timeout_id = g_timeout_add_full (500, 0, give_up_on_proxy, cancellable, g_object_unref); + timeout_id = g_timeout_add (500, give_up_on_proxy, cancellable); g_bus_get (G_BUS_TYPE_SESSION, cancellable, got_bus, @@ -131,7 +131,8 @@ ensure_file_transfer_portal (void) if (bus) { - timeout_id = g_timeout_add_full (500, 0, give_up_on_proxy, cancellable, g_object_unref); + done = FALSE; + timeout_id = g_timeout_add (500, give_up_on_proxy, cancellable); g_dbus_proxy_new (bus, G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES | G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS @@ -149,6 +150,8 @@ ensure_file_transfer_portal (void) g_clear_object (&bus); } + + g_clear_object (&cancellable); } if (file_transfer_proxy) -- 2.30.2